package com.kk.xhr.admin.biz;

import com.kk.xhr.admin.controller.request.RoleAddRequest;
import com.kk.xhr.admin.controller.request.RoleModifyRequest;
import com.kk.xhr.admin.controller.vo.RoleVO;
import com.kk.xhr.common.pojo.BinaryEnum;
import com.kk.xhr.web.vo.PageVO;

import java.util.List;

/**
 * 角色biz服务接口
 *
 * @author kkmystery
 * @version 1.0 2021/3/12
 * @since 1.0.0
 */
public interface IRoleBizService {

    /**
     * 查询角色列表
     *
     * @return 角色列表
     */
    PageVO<RoleVO> query();

    /**
     * 修改角色
     *
     * @param id      主键id
     * @param request RoleModifyRequest
     * @return 是否成功
     */
    boolean modify(Long id, RoleModifyRequest request);

    /**
     * 修改状态
     *
     * @param id     主键id
     * @param status 状态
     * @return 是否成功
     */
    boolean modify(Long id, BinaryEnum status);

    Long add(RoleAddRequest request);

    void addUserRole(Long userId, List<Long> roleIds);
}
